package com.example.hosptial.repository;

import com.example.hosptial.model.enity.Bed;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.jpa.repository.query.Procedure;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BedRepository extends JpaRepository<Bed, Integer> {

    // 根据病房ID查询所有床位
    List<Bed> findByWardWardIdOrderByBedNum(Integer wardId);

    // 查询空闲床位
    List<Bed> findByBedStatus(Integer bedStatus);

    // 添加床位（使用存储过程）
    @Modifying
    @Query(value = "CALL add_bed(:wardId)", nativeQuery = true)
    void addBed(@Param("wardId") Integer wardId);

    // 更新床位状态
    @Modifying
    @Query("UPDATE Bed b SET b.bedStatus = :status WHERE b.bedId = :bedId")
    void updateBedStatus(@Param("bedId") Integer bedId, @Param("status") Integer status);
}